package com.nbufe.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nbufe.domain.dto.data.YearMonthRangeDto;
import com.nbufe.domain.dto.target.YearMonthProcessDto;
import com.nbufe.domain.entity.IndustoryProduce;
import com.nbufe.domain.vo.data.MonthRangeVo;
import com.nbufe.domain.vo.data.Year1To12MonthMaterialVo;
import com.nbufe.domain.vo.report.GenReportVo;
import com.nbufe.domain.vo.target.TargetEmissionVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.springframework.test.context.jdbc.Sql;

import java.util.List;
import java.util.Map;


/**
 * (IndustoryProduce)表数据库访问层
 *
 * @author luzhiheng
 * @since 2023-04-01 10:10:33
 */
public interface IndustoryProduceMapper extends BaseMapper<IndustoryProduce> {

    List<Integer> selectAllYears();

    @MapKey("month")
    Map<Integer, Map<String, Object>> selectYearMaterial1To12CO2(@Param("year") Integer year,
                                                                 @Param("id") Integer id);

    List<Year1To12MonthMaterialVo> queryYearEmissionOrigin1To12CO2(@Param("year") Integer year);

    List<MonthRangeVo> queryStageMonthRangeCO2(@Param("dto") YearMonthRangeDto dto);

    List<GenReportVo> queryYearMonthRangeCO2(@Param("dto") YearMonthRangeDto yearMonthRangeDto);

    List<TargetEmissionVo> queryYearMonthProcessesRangeCO2(@Param("dto") YearMonthProcessDto yearMonthProcessDto);

    List<IndustoryProduce> queryAllProcessEmissionOrigin(@Param("year") Integer year);
}

